Method and apparatus for controlling tape transport apparatus for cassettes

ABSTRACT

Method and apparatus for monitoring movement of tape in tape transport apparatus for reel/tape assemblies such as cassettes, using tape position determination algorithms for determining absolute values of tape position as tape is driven from reel to reel using numerical constants stored in memory and periodically measured reel rotational speed ratios. The apparatus incorporates a microprocessor based controller having a CPU and program memory unit storing programs operating the CPU under program control to make the position determinations based on inputs from pulse generators representing reel rotational speeds and numerical constants corresponding to each of a plurality of known types of cassettes, which constants are derived for the one of the known types of cassettes loaded in the apparatus.

BACKGROUND OF THE INVENTION

The present invention relates to improvements in methods and apparatusfor transferring a flexible web from reel to reel of a web/reelassembly, and more particularly to tape transport apparatus for tapecassettes and methods for controlling and operating such apparatus. Inmore detail, the present invention relates to improvements in the methodand apparatus disclosed in the commonly assigned prior application Ser.No. 810,276 filed June 27, 1977, now U.S. Pat. No. 4,172,231, whichdescribes methods and apparatus for accurately determining absolutevalues of the tape position as tape is driven from reel to reel of atape/reel assembly, and for controlling the apparatus in accordance withsuch tape position determinations.

The invention of the aforesaid prior application is described therein asuseful in transport apparatus for reel/web assemblies the physicalparameters of which are known, the physical parameters including thetape length and thickness, and the reel hub diameters. In such atransport apparatus operating with a web/reel assembly having knownphysical parameters, the position relative to one end of the web of anintermediate portion being transferred from one reel to the other, maybe determined by a computational process using mathematical equations,i.e. by following tape position determination algorithms employingconstants established by the known physical parameters of that reel/webassembly, and a variable parameter; namely, the ratio of rotationalspeeds of the two reels as the intermediate web portion is beingtransferred from one reel to the other, which ratio continuously changesas the web is transferred. It is explained in said prior applicationthat the same algorithms employing the same constants may be followed todetermine the position of an intermediate web portion at any stage oftransfer of the web; the only input required at any stage is the ratioof the rotational speeds of the reels. By determining tape position in aregularly repeating cycle, using said tape position determinationalgorithms, and producing each cycle an output signal representing theposition determined for the web during that cycle, the output signalsmay be utilized to monitor the transfer of the web in the apparatus, forexample, by displaying the continuously changing position of the web orcontrolling the operation of the transport apparatus.

The method of said prior application is particularly, although notexclusively, useful in tape transport apparatus for cassettes of tapewhich are a standard type for example, cassettes providing sixty, ninetyand one hundred twenty minutes of playing time known, respectively, asC-60, C-90 and C-120 cassettes. Such cassettes are conventional with tworeels and different known lengths and thickness of tape to provide thevarious lengths of playing time. The method entails first establishingconstants for each tape cassette, which constants are used in theposition determination algorithms, and storing a set of constants foreach tape cassette in, for example, a semiconductor memory unit. In tapetransport apparatus under the control of a microprocessor, signalsrespresenting the set of constants corresponding to the cassette loadedinto the transport apparatus, are recalled from the memory unit,intermediate signals are generated representing the ratio P₁ /P₂measuring the rotational speeds of the reels, and by circuit means suchas the microprocessor under program control a determination is made oftape position in terms of the length (l₁ or l₂ ) or time (t₁ or t₂) tothe end of the web on either reel of an intermediate portion of the webbeing transferred from one reel to the other, using positiondetermination algorithms employing the following equations: ##EQU1## Lrepresenting the total length of magnetic tape, l₁ representing the usedtape, l₂ the unused tape, T representing the ratio P₁ /P₂ when L=l₂,i.e. at the beginning of the tape. T is thus a constant whichcharacterizes each type of cassette and which can be determined eithermathematically or by experiment.

If the two terms of the Equation (I) and (I)' are divided by L, weobtain the following: ##EQU2##

It is also possible to multiply the two terms of Equation II and II' bythe duration τ of the cassette, of which the usual types may have thevalues defined above. We then obtain, with

    A"=A'×τ and B"=B'×τ

the following: ##EQU3##

Among the above Equations, (I) and (I)' represent the length of themagnetic tape wound on the take-up reel and on the supply reelrespectively, i.e. a position determination in terms of lineardimension. Equations (II) and (II)' represent the ratios of the lengthof the magnetic tape wound on the take-up reel and on the supply reelrespectively to its total length, i.e. a position indication innon-dimensional terms, while Equations (III) and (III)' represent thetime taken by the magnetic tape to reach the radius R₁ on the take-upreel and the radius R₂ on the supply reel respectively, i.e. a positionindication in terms of time, representing the playback time or recordingtime which has elapsed since the beginning of the magnetic tape or whichremains until the end of the magnetic tape respectively.

The sets of constants A, A', A", and B, B', B" for the different typesof cassettes are determined statistically, so that account can be taken,with sufficient accuracy, of the very slight variations which may existbetween different cassettes of one and the same type and which result,for example, from production tolerances. Constants for the C-120 tapecassette have been measured as A"=72.2496 and B"=5.9961, as an exampleof constants for use in web position determination using Equation III'.

Accordingly, the present invention is directed to method and means formonitoring the movement of tape in tape transport apparatus forreel/tape assemblies such as cassettes, using tape positiondetermination algorithms specified in the hereinbefore identifiedcommonly assigned prior patent application, for determining absolutevalues of tape position as tape is driven from reel to reel. Such tapeposition determinations are based on numerical constants stored inmemory and reel rotational speed ratios measured at intervals.

According to the method disclosed in said prior patent application, therotational speeds of the reels are represented by pulse streams frompulse generators driven responsive to rotation of each reel. Pulses atthe rate of twenty per revolution of each reel are fed to shiftregisters which accumulate the pulses and reel speed ratios arecalculated based on the total number of pulses accumulated in theregisters. It was recognized that the accumulated total of pulses in ashift register provided only an approximate representation of theinstantaneous rotational speed of one of the reels.

It is one of the principal objects of this invention to provide a moreaccurate measure of instantaneous rotational speed of each reel to basethe calculation of reel speed ratios, which is used in the determinationof tape position.

According to this invention, instantaneous reel speed ratios arecalculated based on the real time for each reel to make two revolutionswhen driven at normal (play or record) speed, and four revolutions whendriven at fast (forward or rewind) speed. In the present case, pulsegenerators on the reel spindles produce eight pulses (hereinafter called"reel pulses") each revolution of the reel, which pulses are counted.Clock pulses generated at a rate determined by an internal clock,illustratively 4 KHz, are clocked into and accumulated in a timingregister for each reel for the time period elapsed until either 16 or 32reel pulses are counted, the content of each of the timing registersthen representing the real time for two or four revolutions of each ofthe reels; instantaneous reel speed ratios are calculated by dividingthe contents of the timing registers.

In the system described in the aforesaid prior patent application, theoperator designates that the web/reel assembly or cassette is of oneknown type or of another type, to derive from memory numerical constantsfor basing the tape position determinations. This manual selectionentails certain risks in cases where the operator makes the wrongchoice, for example, by operating the key corresponding to type C-90when a C-60 type cassette has been inserted, either by inadvertence orthrough ignorance of the type of cassette. This may result inmalfunctioning of the apparatus and possible damage to the magnetictape. For example, the display of the position of the tape may beincorrect; it may be impossible to find a predetermined position on thetape during the search mode; there may occur premature slowing-down withunnecessary increase of forward winding or rewinding times; there mayoccur a failure to slow down towards the end of the tape andconsequently the risk of breaking the tape.

To overcome these problems, another important object of the invention isto provide a method and means for automatically identifying anddesignating the type of web/reel assembly or cassette in the apparatus.

According to this aspect of the invention, the unknown web/reel assemblyor cassette is identified by first recalling from memory predeterminedvalues of constants, which are called I.D. constants, and thenproceeding through a cassette identifying process in which a first tapeposition determination is made based on the recalled numericalconstants, the tape is moved a prescribed distance, a second tapeposition determination is made, the actual prescribed distance iscompared with the theoretical distance between the first and and seconddetermined positions and in accordance with the comparison, the unknowncassette is determined to be one of the known types, and thus theunknown cassette is identified. In carrying out the I.D. mode ofoperation in accordance with the invention, preferably the two positionsare determined by operation of a microprocessor under program controlusing position determination algorithms including one of the equations(I) to (III)' referred to above for computing tape positions employingnumerical constants derived from the I.D. constants store, and reelspeed ratio is measured as the tape is transferred from reel to reel.The two predetermined positions can be selected in arbitrary manner, andmay in particular be fixed by predetermined numbers of revolutions ofthe reels or pulses supplied by the rotational speed detector ordetectors (pulse generators) of one and/or the other of the reels. Theprocess is thus based on measuring the rotational velocity of each ofthe reels, which velocity is dependent on their characteristics, theirstate of winding, and the type of tape used.

According to another aspect of the invention, this method forautomatically identifying an unknown cassette as one of a plurality ofknown types, is implemented in tape transport apparatus operated underthe control of a controller that includes a central processor unit (CPU)and associated memory units (ROM) for programs and storage of numericalconstants representing the cassettes, and constants used in the I.D.mode hereinafter called cassette I.D. constants. Further in accordancewith the apparatus aspect of the invention, tape transport apparatusincluding reel drive motors and motor control circuits therefor, iscontrolled by the microprocessor type controller to perform the I.D.mode of operation in which the tape is moved from a starting position atnormal speed for the first tape position determination, at fast speed tothe second position, at normal speed for the second tape positiondetermination, and after the cassette is identified, the tape isreturned to the starting position. The microprocessor under programcontrol provides means for determining the first and second tapepositions, means for calculating the theoretical difference between thefirst and second positions, means for measuring the actual differencebetween the same positions, means for comparing the theoretical andactual differences and in accordance with the comparison confirming thatthe unknown cassette is of one or of another known type.

Another important object of the invention is to provide a method forcarrying out high speed searches for target tape positions, whichprovides random access to any tape position. While the system of saidprior patent application includes a search mode of operation, thepresent method controls the apparatus to reach a target tape positionmore accurately and at higher speed than was achievable heretofore.

A related object is to provide a method for monitoring tape movement inaccordance with pulses from the reel pulse generator of the apparatusand representing reel movement, using a reel pulse count storecorrelating tape position and reel pulse counts, the pulse count storeproviding the number of expected pulses to reach given positions or tapepositions corresponding to specified pulse counts.

Another object is to provide method and means for counting pulsesrepresenting reel movement, and useful in the search and otheroperational modes of the apparatus.

In the system described in the prior patent application, a display isoperated by the controller to display successive tape positionsdetermined by the controller following several revolutions of bothreels. If such display is updated to show the tape position each suchdetermination, the display may jump 6 to 8 seconds at a time and thejumps may be uneven. An important further object of the presentinvention is to provide a method for operating such a display so thatthe display is uniformly and smoothly updated to show changes in tapeposition. For example, where tape position is displayed in terms of timeto the end of the tape, it is an objective to operate the display toshow changes in tape position of one second, the display being operatedby a display clock and the rate of the display clock being synchronizedwith the actual rate of movement of the tape by comparing the actualtape position as determined each cycle with the tape position shown onthe display, and changing the rate of the display clock to eliminate anydifference between the actual position and the display position over aprolonged interval, to smooth the operation of the display andsynchronize it with tape movement.

Another object of the invention is to provide a tape transport methodand apparatus for adjusting the output torque of the take-up reel drivemotor to maintain a constant tractive force on the tape throughout theprocess of transferring tape from the supply reel to take-up reel, byvarying the voltage applied to the take-up motor through multiple steplevels approximating a linear change proportional to the quantity oftape wound on the take-up reel.

Further objects and features of the invention will be apparent from thefollowing description of a preferred embodiment of the invention, byreference to the accompanying drawings, in which:

FIG. 1 is a block diagram of a tape transport apparatus including acontroller of the apparatus instructed in accordance with the presentinvention;

FIG. 2 is a block diagram similar to FIG. 1, detailing the memorysections of the controller and diagrammatically illustrating thecontroller output to the display and motor control circuit for the reeldrive motors of the tape transport apparatus;

FIG. 3 is a simplified schematic diagram of a motor control circuitshown in block diagram form in FIGS. 1 and 2;

FIG. 4 is a timing diagram illustrating the timing of two reelrevolutions by means of timing pulses for an elapsed period representedby sixteen reel pulses;

FIG. 5 is a timing diagram illustrating pulse count, reel speed andoperations performed in the programmed operation of the microprocessercontrol in the I.D. mode;

FIG. 6 is a timing diagram illustrating pulse count, reel speed andoperations performed in the programmed operation of the microprocesserin the search mode to find a target position;

FIG. 7 is a graphical representation of the pulse count curves stored inthe memory section of the controller;

FIG. 8 is a graphical representation of the multiple levels of supplyvoltage Δ V for the take-up drive motor;

FIG. 9 is a simplified flow diagram of a preferred program for thecentral processor of the microprocesser type controller, illustratingthe initial series of program steps at the start of the main program;

FIG. 10 is a simplified flow diagram of a preferred program for the CPUto execute operations to control the tape transport in the playfunction, and illustrates particularly the operations in making tapeposition determinations, and synchronizing the position shown in thedisplay with the movement of the tape;

FIGS. 11 and 11a are simplified charts of program steps shown in FIG.10, in the control of the rate of the display clock to synchronize thedisplay tape position with tape movement;

FIG. 12 is a simplified flow diagram of a sub-routine executed by theCPU in response to an internal interrupt initiated by the timer of thecontroller;

FIGS. 13 and 13a are simplified flow diagrams of a preferred program forthe CPU to control the apparatus in the cassette identification mode ofoperation;

FIG. 14 is a simplified flow diagram of a preferred program for the CPUto control the apparatus in the fast forward and the fast rewindfunctions;

FIG. 15 is a simplified flow diagram of a program for the CPU to controlthe tape transport apparatus in the search mode for a target position;and

FIG. 16 is a simplified flow diagram of a program for the CPU to controlthe take-up drive motor in accordance with tape position.

GENERAL ORGANIZATION OF TAPE TRANSPORT APPARATUS (FIGS. 1, 2)

Now turning to the drawings, FIGS. 1 and 2 are block diagrams of tapetransport apparatus having a control system constructed in accordancewith the present invention and utilizing the methods of the presentinvention. The system, in general, includes a controller 36, a motorcontrol circuit for the drive motors of the tape transport apparatus, adisplay for monitoring tape movement by visually displaying tapeposition, an operator panel with a key board and control switches, andreel speed detectors herein shown as pulse generators supplyinginformation on reel speed to the controller 36. In the preferred form ofthe invention the controller 36 is comprised of a set of integratedcircuit chips forming a microprocessor, an exemplary and preferredmicroprocessor being the Mostek F8 which includes a CPU unit 38 and oneor more ROM memory units 40. As indicated in FIG. 2, the controller 36includes a timer 42, which in the case of the Mostek F8 microprocessoris provided by the memory unit 40, and has an external referencefrequency input 44 which provides a time base so that the timer isoperable in real time.

While it is preferred to utilize a Mostek F8 family of chips to providea microprocessor based controller 36, it will be appreciated that othermicroprocessors are available and may be used to serve the samefunctions, and that the controller may be implemented using otherequivalent electronic devices. While implemented with the Mostek F8chips, the F8 CPU provides 64 bytes of RAM that may serve variousregister functions unique to the present invention, as well as provideread/write memory for arithmetic and logic functions. The CPU amongother circuits also includes an arithmetic logic unit, an accumulator,I/O ports, clock circuits, and interrupt logic which allows CPUoperation to be interrupted by a timer on the ROM chip or by an externalsource. One or more F8 ROM chips provide for storage of programs, I/Oports, a timer and program counter and stack register which handle theprogram function. With this construction, direct interfaces can be madeby the controller 36 with peripheral devices since the CPU circuitsprovide, for example, encoding and decoding circuits for operating adisplay. The ROM's also provide for storage in coded signal form of thevarious unique constants required for cassette identification, searchfor target positions and other tape control functions performed by theapparatus, labeled in FIG. 2 as memory sections or blocks Cassette I.D.Store, Cassette Constants Store and Reel Pulse Count Store.

Operator activated inputs to the controller 36 are provided from anoperator panel having one keyboard for digit keys 0-9, a cassetteidentification mode key 48 labeled "I.D." and cassette keys 50 labeled,C-45, C-60, C-90 and C-120, and a second keyboard with function keys 52labeled play, record, stop, etc. which also includes the search mode key54.

Apparatus activated inputs to the controller 36 include detectors ofspeed of the reels of the cassettes or open web/reel assemblies in thetape transport apparatus, herein shown as including pulse generators 56,58 on the spindles for reel 1, reel 2 respectively. Preferably the pulsegenerators 56, 58 are constructed to provide pulses at a raterepresenting reel angular velocity or rotational speed, and eight pulsesper revolution of each reel is preferred for the rate, although the rateof pulse generation may, of course, be varied, and the speed detectorsmay, if desired, take other forms. Pulse streams or "reel pulses" fromthe pulse generators 56, 58 representing the rotational speed of thereels are supplied over input lines 60, 62 to the input/output ports 64of the controller 36.

The tape transport apparatus includes drive motors M1 and M2 for thereels of the cassette or web/reel assembly which are controlled by amotor control circuit 66, which in turn is controlled by the controller36. As indicated in FIG. 3, the motor control circuit 66 is connectedover a set of output lines to the input/output ports of the controller36, the lines being labeled P5-1, P5-4 to P5-7 collectively labeled P5in FIGS. 1 and 2. In the present preferred form of the invention, thedrive motors M1 and M2 of the tape transport apparatus are operable todrive the tape in play or record mode in one direction and in fast modes(fast forward or rewind) in both directions. Preferably the motors areof the type which may be adjusted in speed by varying the supply voltageto the motor windings, illustratively a 12 volt supply causing themotors M1 or M2, to operate at fast speed, the motor M1 serving as thetake-up reel drive motor in forward direction, and the motor M2 servingas the take-up motor in the rewind direction. Circuits areconventionally provided by braking the supply reel by connecting themotor windings through resistances to ground to provide dynamic brakingor through a mechanical brake.

The system provides for operation of the display 68 by the controller 36over output lines 70 and 72 which, in the preferred form of theinvention, serve to drive the display to show in terms of time theposition of the tape in the tape transport apparatus. Illustratively thedisplay will be in minutes and seconds, the display having 4 digits, ahigher order and lower order digit for the minutes and a higher orderand a lower order digit for the seconds. Associated with the display area set of lights 74 which are energized to indicate the functions beingcarried out by the apparatus under direction of the controller 36, suchas play, fast forward, search, etc. Another set of lights 76 is used todisplay the type of cassette in the apparatus, those lights beinglabeled C-45, C-60, C-90 and C-120. The function lights and cassettelights 74, 76 are driven from output lines 70 and through connectionsincluding the CPU circuits from the cassette keys 50 and function keys52, so that manual activation of one of those keys also results inenergizing the corresponding function or cassette light.

In somewhat more detail, the display 68 is operated by a display clockwhich is preferably served by a register of the CPU 38 of the controller36, the display clock operating to update the display in synchronismwith the movement of the tape as tape is moved from one reel to theother of a cassette or web/reel assembly.

In keeping with the invention, the motor control circuit 66 is suppliedwith output signals from the input/output ports 64 of the controller andalso with a variable supply voltage ΔV between five to ten volts whichis connected to the take-up reel drive motor M1 via operation of a relayin the motor control circuit 66. The variable supply voltage is producedby the controller 36 in accordance with the tape position by placing adigital representation of the calculated supply voltage on a set of fouroutput lines labeled P1-0 through P1-3 which represent connections toinput/output ports 64 of the controller 36. A circuit 80 schematicallyshown in FIG. 1 converts the representation of calculated supply voltageon combinations of the output lines P1-0 through P1-3 to the supplyvoltage for the take-up drive motor and thus serves as a type of digitalto analog converter circuit to produce the desired variable motor supplyvoltage.

Preferably, in carrying out the various aspects of the presentinvention, programs for controlling the processor 38 are stored in theprogram memory section of the controller 36 as indicated in FIG. 2. Itshould be recognized that while it is preferred to perform the methodsand implement the apparatus of this invention by a microprocessor underprogram control, the invention is not so limited and may be implementedby analogue circuits or discrete digital circuitry.

TAPE POSITION DETERMINATION (FIGS. 2, 4, 12)

In accordance with the present invention, it is preferred to operate theCPU 38 of the controller 36 under program control to determine theabsolute value of tape position in terms of time to the end of the tapeon the takeoff reel. Such a position determination will be displayed byminutes and seconds on the display 68. Tape position determination ismade by calculations following position determination algorithmsemploying equation III' which, it will be recalled, requires the ratioof rotational speeds of the reels and numerical constants A", B"uniquely characterizing the physical parameters of the particular typeof cassette or web/reel assembly loaded in the tape transport apparatus.In keeping with the present invention and as disclosed in the priorpatent application, numerical constants for the different known types ofcassettes illustratively C-45, C-60, C-90 and C-120 are stored in a"Cassette Constants Store" provided by the memory unit 40 of thecontroller 36. Such numerical constants A", B" are recalled from memoryin the course of operation of the CPU under program control to carry outthe position determination algorithms. The ratio of rotational speeds ofthe reels is measured from the pulse streams received from the pulsegenerators and representing the rotational speeds of the reels 1 and 2.In the prior patent application, pulses emanating from the pulsegenerators were counted and the speed ratio measured by the ratio of thepulse count P₂ /P₁. The ratio is taken after a predetermined angularrotation of the slower reel, i.e. after two or more complete revolutionsof both reels. In order to improve the accuracy of the tape positiondetermination, it is now proposed in accordance with the presentinvention to time the period for a predetermined number of revolutionsof both reels, and measure the speed ratio based on the ratio ofmeasured times.

In the present case means for measuring actual time is provided by thetimer 42 of the controller 36. With the pulse generators 56, 58providing eight pulses per revolution, 16 pulses from either pulsegenerator represents two complete revolutions of a reel. As shown inFIG. 4, 16 reel pulses are timed by accumulating high frequency pulsesin a timing register which may be provided by one of the scratch padregisters of the CPU or by memory included in the controller 36. Thehigh frequency pulses accumulated in the timing register represent theelapsed time T₁ for two revolutions of reel 1. Similarly, the elapsedtime T₂ is measured off for two revolutions of reel 2. The ratio T₂ /T₁is calculated by division, such as by dividing the content of one timingregister by the content of the other timing register to provide anequivalent reel speed ratio to the ratio P₂ /P₁ derived by calculatingthe ratio of accumulated reel pulses as explained in the prior patentapplication. By measuring instantaneous speed ratio as shown herein, bytiming sixteen pulses for each reel, the present invention provides amore accurate representation of instantaneous speeds of the reels, andthus a more accurate representation of the ratio of instantaneous speedsto provide the requisite rotational speed ratio for use in the equationIII' to determine tape position.

Referring to equation III' as hereinbefore set forth, it will be seenthat to make a calculation for t₂ requires constant A" and B" plus theratio of P₂ /P₁. To calculate t₂ by the CPU under program controlrequires straightforward programming. The measured ratio of rotationalspeeds of the reels, based on the ratio of times T₂ divided by T₁, itwill be appreciated, serves for the required ratio P₂ /P₁ in thedenominator of the fraction of equation III'.

While FIG. 4 illustrates timing the period of 16 reel pulses, the numbermay be varied as desired. For example, for determination of speed of thereels when tape is driven at fast speed, the CPU is preferablyprogrammed to time 32 pulses from each reel, representing fourrevolutions of each reel. It will be recognized that the intermediateportion of tape for which a tape position determination is made, is thatportion being transferred from reel to reel while the speed ratio isdetermined. The longer the period of determination, the less precise theposition determination. To provide a more accurate positiondetermination, at normal play speed, it is preferred to program the CPUto time 16 pulses which provides a more accurate measure of the speed ofthe tape.

Referring to FIG. 12, this simplified flow diagram illustrates theprogram routine followed by the CPU in response to a timer interruptrequest from the timer on the ROM. The timer interrupt request may beinitiated at any preselected time interval such as the time base clockfrequency of 4 KHz or one-quarter millisecond. As shown in FIG. 12, theinput lines from the pulse generators are tested and as pulses appear onone or the other of the input lines, registers for each reel which areinitially set to a count of 16 are decremented until zeroed. Pulses at arate determined by an internal master clock are clocked into andaccumulated in a timing register for each reel, for the period of 16pulses. When the count reaches zero, after 16 pulses have been receivedfrom the associated reel pulse generator, accumulated clock pulses forthe 16 reel pulses are moved from the timing register to anotherregister and stored, the content of that register then representing theactual or real time for 16 pulses. A speed ratio determination is madeby dividing the content of one register with the content of the otherregister, producing a speed ratio for use in the tape positiondetermination equation III'.

AUTOMATIC CASSETTE IDENTIFICATION (FIGS. 5, 9, 13, 13A)

As above mentioned, it is desired to provide a method and means forautomatically identifying and designating the type of web/reel assemblyor cassette loaded in the tape transport apparatus. For this purpose,referring to FIGS. 5, 9, 13 and 13A, the invention provides a cassetteidentification process generally shown in the timing diagram of FIG. 5and described in flow diagram in FIGS. 13 and 13A. As indicated in FIG.5 the identification process generally involves determining a first tapeposition (Position I) based on reel speed ratio measured for tworevolutions at normal speed and a set of I.D. constants derived from theI.D. store. Then the tape is moved a prescribed distance at fast speed,and a second tape position determination (Position II) is made, againbased on speed ratio measurements at normal speed and the I.D.constants. Thereafter, the actual distance between Position I and II iscompared with the theoretical distance and based on that comparison, theunknown cassette is determined to be one of the known types, and thusthe unknown cassette is identified.

In more detail, referring to the simplified flow diagram illustrated inFIG. 9, the operations carried out by the controller 36 to control thetape transport apparatus are illustrated in flow diagram form, and whileall steps carried out are not illustrated, FIG. 9 does show theprinciple operations which are performed at the beginning of the mainprogram for the controller 36. Thus as indicated in the start block, thetape transport apparatus power is turned on and the circuits areenergized including the display circuits, and assuming that a cassettehas been loaded into the apparatus by the operator, under the directionof the program, the system in effect assumes that a C-45 cassette hasbeen loaded in the apparatus, as indicated by the block "C-45 cassette"unless a different cassette is specifically identified by the operatordesignating through the cassette keys 50, one of the other types ofcassettes for which data is stored in memory of the controller 36. Itwill be noted that one of the cassette keys labeled X in FIG. 1 isprovided for a cassette of a nonstandard type, so that the system isoperable with nonstandard cassettes as well as standard type cassettes.

Returning to FIG. 9, as indicated in the diagram, the program proceedsto the block "Cassette I.D. Required?" and if the answer is "yes", theprogram branches to the routine for automatic identification of cassettetype, herein designated as the "I.D." mode. The I.D. mode is shown insimplified flow diagram form in FIGS. 13 and 13A. Before turning tothose Figures, as shown in FIG. 9 if the cassette has been designated,the program proceeds to the block "Digit Keys Pressed?" and if "yes,"representing a target position for the search mode of operation, thekeys are read, the target position displayed, and the program proceedsto the search function mode or the function designated by the controlkeys or switches of the operator panel.

Now turning to FIGS. 13 and 13A, these figures taken together representthe routine of operations carried out by the CPU to identify the typecassette in the apparatus as being one of several known types, thenumerical constants for which representing physical parameters of theknown cassettes, are stored in the cassette constants section of thememory unit 40 of the controller 36. Referring also to FIG. 5, this is aschematic timing diagram to illustrate the operations carried out by thetransport apparatus under control of the controller 36 in the I.D. modeof operation. Thus as indicated in FIG. 5, the tape is driven at normalor play speed for the period of 16 reel pulses for each of the reels. AFirst tape position (Position I) is determined based on the ratio ofreel speeds. The tape is then driven at fast speed for an arbitrarypreset period measured on one of the reels, illustratively 160 reelpulses (representing 20 revolutions), then the movement of the tape isreduced to normal or play speed and the tape is driven at that speed fora period of 16 reel pulses from each reel pulse generator. A second tapeposition (Position II) determination is made based on the ratio of reelspeeds during that second period of movement of the tape at play speed.

Referring now to FIGS. 13 and 13A, the operations of the CPU underprogram control to carry out the movements of the tape described in FIG.5, are illustrated in flow diagram form. Thus after entering the I.D.mode and performing various initializing functions a 16 reel pulse countis set in registers, one register for each reel. The tape is movedforward at normal speed. The tape continues to move forward at normalspeed until the question "Has Reel Pulse Count Reached 16 pulses FromEach Reel?" is answered "yes". Using the timing registers hereinbeforedescribed, the reel speeds are represented by high frequency timingpulses clocked into the timing register for 16 reel pulses, and the reelspeed ratio, represented by the convention P₁ /P₂ is measured and thatratio is saved.

The first tape position is determined by a tape position determinationalgorithm including equation III'. "Position I" is stored in memory. Theprogram then proceeds as indicated and an 160 reel pulse count is set ina register. The tape is moved forward at fast speed until a period of160 reel pulses of one reel (assume reel 1) is measured off. When thequestion "Has Pulse Count Reached 160 Pulses?" is answered "yes", thefast speed is stopped and the tape is then moved forward at normal speedfor a second position determination. The actual distance betweenPosition I and Position II is first computed using the ratio 160/16 andcomputing (160/16) * t_(c), where t_(c) is the contents of the timingregister for reel 1, i.e. the total high frequency clock pulsesaccumulated in the timing register for 16 reel pulses during thePosition I determination, representing the elapsed time for 16 reelpulses measured at normal speed and thus the distance in terms of timethe tape moves during two revolutions of reel 1.

As shown in FIG. 13A, the tape is driven for a period of 16 pulses foreach reel to base the second tape position determination. In thedetermination of the second tape position (Position II) as well as thefirst tape position, the numerical I.D. constants are derived from theI.D. constants store section of memory unit 40. Thus both the first andsecond positions are theoretical in the sense that the tape positiondeterminations are based on special I.D. numerical constants, while thecassette that is in the apparatus is unknown. The difference between thefirst and second positions, the theoretical distance in terms of time"TT" is then computed. The actual distance between the first positionand the second position which was previously computed is compared withthe theoretical distance by calculating the ratio between "AT" and "TT".Stored in the I.D. store memory unit of the controller 36 are a set ofidentifier constants which represent, for each type of cassette, a rangeof the ratio between "AT" and "TT". By recalling those constants andfitting the calculated ratio in one identifier range, the particularcassette type is identified and displayed as by means of energizing thecassette light. The tape is then rewound at fast speed for a perioddetermined by decrementing a register storing pulses as the forwardmovement during the I.D. process, to return the tape to the position atwhich it was originally inserted. The tape position is calculated usingthe numerical constants for the correct cassette from the store ofcassette constants, and the tape position is displayed.

If as the result of an error in calculation, faulty movement of thetape, or the like, the calculated ratio between actual time "AT" andtheoretical time "TT" does not fit within a range of cassette identifierconstants value (within a given margin) stored in memory for the typesof cassettes used, the cycle of operations will be repeated to determinethe value of the ratio.

The tape may move at any speed, preferably at the highest possible speedin order to reduce the time taken for the automatic identificationprocess, but it must also permit accurate measurement of the spaced,first and second instantaneous positions. A good compromise is obtainedby running the tape at normal speed for play, in order to calculate thefirst and second positions very accurately, and utilizing a fast speedbetween these positions.

It is also desired to ensure that if the end of the tape is reachedduring the operation of automatic identification, to stop the processand automatically rewind the tape sufficiently to enable the process tobe carried out.

Since the end portions of the tapes are usually of a different thicknessfrom that of the magnetic tape itself, it is advantageous to run a fewcentimeters of tape when a cassette is introduced, before starting theidentification measurements, so as to avoid inclusion of this endportion in the detection operation in the event of the cassette beingintroduced at the beginning of a tape. Once the identification of thetype of cassette has been effected a length of tape corresponding to thetotal identification phase is automatically rewound in order to returnto the starting point. In order to do this, it is sufficient as abovenoted to accumulate in a register the total number of pulses from thepulse generator of one of the reels during the entire identificationphase in question, and then rewinding the tape and decrementing theregister until it zeros out upon receiving an identical number of pulsesto find the original starting position.

The numerical I.D. constants derived from the I.D. store and used indetermining the theoretical positions I and II, preferably are specialsimple constants and are not required to be precisely equal to constantsmeasured for standard type cassettes. These I.D. constants correspond toa "known" type of cassette in the general sense of corresponding to atheoretical cassette. These constants may be close to the constants forC-45, or any other standard type of cassette, the identifier rangeaccomodating such variation.

OTHER CONTROLLED FUNCTIONS--PULSE COUNT STORE (FIGS. 7, 9, 14)

Further in carrying out the invention, as shown in the flow diagram ofFIG. 9, with one or more of the function keys pressed, the main programbranches to routines to operate the CPU to control the tape transportapparatus in those functions. For example, the fast forward and fastrewind functions are controlled by programmed operation of the CPU 38,and a simplified flow diagram of the steps of the programs is shown inFIG. 14. As indicated in this flow diagram, when the fast forward orfast rewind loops are entered, the first step in either loop is to setthe motor control circuit, illustratively an output signal from thecontroller 35 over one of the output lines P5-7 or P5-4 to energize arelay to connect the forward motor M1 or rewind motor M2 to a source ofvoltage at 12 volts driving the motors at fast speed and also to set thedisplay to show tape position. Tape position may have been calculatedduring the main program and be stored in a display register. The nextoperation performed in this sequence as indicated in the flow diagram isto set a register for each reel with a count of 32. At fast speed,position determinations are preferably made every four reel revolutionsrepresented by 32 pulses received from each reel pulse generator 56, 58indicated when these registers zero out. The period of the 32 pulses istimed for each reel, and reel speed ratio is based on the ratio ofmeasured times. Since tape movement is at fast speed, the display may besmoothly updated based on position determinations every four instead ofevery two revolutions as at normal speed.

In the programmed sequence the other function keys are checked and ifnone of the search, play or record keys are pressed the fast forward andfast rewind sequences continue, the next step being to determine theposition of the tape, preferably using position determination algorithmsemploying equation III' and the ratio of measured times for 32 reelpulses for each reel, and then displaying the determined position. Thefast forward and fast rewind programs loop, the slow-down calculationand end-of-tape time out are checked again, and the loop repeats untilone or the other of the function keys is pressed in which case the fastforward or fast rewind sequence terminates in favor of the selectedfunction, or the tape reaches the end. Since the tape may be stoppedbetween calculated tape positions 32 reel pulses apart, an estimatedposition determination is then made, based on the previous calculatedposition, stored in the display register, and the number of elapsedpulses since. An accumulator or register routinely stores pulses fromthe pulse generators 56, 58, and the accumulated total of pulsesrepresenting distance of the tape from the previous calculated position,is then utilized to locate the final position and to update the display.

In accordance with an important feature of the invention, tape movementis monitored in the apparatus according to reel pulses from the pulsegenerators, by means included in the controller 36 and data derived fromthe "Reel Pulse Count Store" in the memory unit 40. This aspect of theinvention enables accurate location of final tape position when the fastforward or rewind function is stopped, and finds other important uses aswill be seen later.

Thus, for each of the known standard types of cassette, the memory unit40 stores the data graphically illustrated by the pulse count curve inFIG. 7, so that the CPU under program control is operative to deriveexpected pulse counts between tape positions. The data for the pulsecount curve shown in FIG. 7 for one of the types of cassettes, isobtained directly or indirectly by rotating the cassette reels andtaking total reel pulse counts periodically. For example, after tworevolutions of one reel, representing within 3+ seconds of the very endof the tape, 16 pulses have been accumulated. After one hundredrevolutions, 800 pulses have been accumulated, the position of the tapethen being, in terms of time, about 180 seconds, or 30 minutes from thebeginning.

    ______________________________________                                        C-60 Cassette                                                                 Pulse Count                                                                   Number of                                                                              Reel      Distance to End of Tape                                    Revolutions                                                                            Pulses    Inches   Time at normal play speed                         ______________________________________                                        1              8       21/4"  ≃1.5 seconds                      2             16       41/2"  ≃3 seconds                        .                                                                             100           800      300"   ≃3 minutes                        .                                                                             .                                                                             500          4000      1600"  ≃15 minutes                       .                                                                             .                                                                             850          6800      3200"   30 minutes                                     ______________________________________                                    

The above table of data is provided to illustrate how the data may beobtained for the reel pulse count store and is exemplary only, thevalues given being approximate for explanation purposes. Thus, assumingthe take-up reel is empty and the reels are rotated to transfer tapefrom the supply reel to the take-up reel, and assuming the outsidediameter of the reel spool to be approximately 3/4 inch, the distancetravelled per revolution with the spool empty is approximately 21/4inches, and at normal play speed of 13/4 inches/second requires 1.5seconds/revolution. The winding diameter of the take-up reel, of course,grows as tape builds up on the reel until when full the diameter isapproximately 2 inches and the distance of tape movement per revolutionis approximately 6 inches. To reach the half full condition, with equalamounts of tape on both reels, requires more than half the approximately850 revolutions to transfer the full length of tape from the supply reelto the take-up reel, because of the gradual increase in diameter of thewinding on the take-up reel. Thus, if distance to the end of the tape onthe supply reel is plotted on the abscissa (in terms of time), andexpected reel pulse count to the end of the tape on the supply reel onthe ordinate, the correlation approximately graphically represented inFIG. 8 is obtained.

A hyperbolic curve is obtained which may be approximately andconveniently represented by two straight line segments, as shown in FIG.7. By storing coded signals representing this curve in the "Pulse CountStore" in memory, pulse count for any given tape position may bederived, or the inverse thereof, and the difference in pulse countbetween any two positions may be determined by a process of subtractionof one pulse count value determined from the curve from another alsodetermined from the curve. An unknown position may be determined fromthe pulse count curve based on one position which is known and totalmeasured pulse count between the known and the unknown position.

In keeping with the invention, therefore, having the previous displayposition and the number of elapsed pulses since, as indicated in FIG. 14an estimated final position is obtained by recalling the tape positionfrom the pulse count store for the designated cassette, in the memoryunit 40. The estimated position is displayed as a "best" position andthe program returns to the program for the designated function. Ifentering play or record functions, for example, the CPU under control ofthat program routinely determines positions every two reel revolutionsand the display will then be updated from the "best" position andsmoothly operated to display tape position in synchronism with tapemovement as tape is driven to normal speed.

SEARCH FOR TARGET POSITIONS (FIGS. 6, 7, 15)

In accordance with an important aspect of the invention, methods andmeans are provided for automatically searching for target positionsinserted by the operator through activating the digit keys of thekeyboard.

As hereinbefore explained, tape position determinations are based onreel speed ratios P₁ /P₂ measured by timing (at normal speed) tworevolutions of each reel, using high frequency pulses clocked intotiming registers. Using high frequency clock pulses to measure real timefor two revolutions of each reel, provides an accurate representation ofaverage speed for the two revolutions, and an accurate determination oftape position can thus be made based on reel speed ratios every two reelrevolutions or 6 to 8 seconds at normal tape speed.

It appears that making periodic, spaced measurements of reel speedratios limits the system of this invention to accurately determining,based on such speed ratios, tape positions spaced twice thecircumferential distance of windings on a reel. Unexpectedly, however,in accordance with a further important aspect of the invention,positions intermediate the accurately determined spaced positions arelocated based on expected reel pulse counts derived from the pulse countcurves stored in memory, thus providing a more accurate method ofdetermining tape position than one based on calculation alone.

As one important application of the invention, it provides high speedrandom access to any target position on the tape, using positiondeterminations by calculation to within approximately 15 secondspreceding the target position, and finding the target position bycounting pulses from the determined position to reach the targetposition.

Referring to FIG. 6, this is a timing diagram showing the preferred modeof operation of the CPU 38 under program control, to control the drivemotors M1, M2 of the tape transport apparatus and monitor the movementof the tape on the display 68 to reach a target position pre-set by theoperator using the keyboard. Thus, as shown in FIG. 6, if the tapeposition is unknown (i.e. if the cassette has just been inserted) thetape is driven at normal speed for a position determination (period of16 pulses from the reel pulse generators), otherwise the tape is drivenat fast speed until twenty seconds from the target position, then atnormal speed for determinating an accurate tape position, and then atintermediate speed until the target position is reached. It will also benoted the target position is reached with the tape driven atintermediate speed and the controller using expected reel pulse countsfrom the Reel Pulse Count Store to accurately determine the length oftape to be driven to reach the target position.

Now turning to FIG. 15, which is a simplified flow diagram of theprogram steps the CPU 38 executes in the search process, as there shown,on entering the search mode the display and controls are set, and thequestion is asked "Is Position Accurate?" If "no" an accurate positionis determined and the display shows a measured and, therefore, accurateposition. If not within 15 seconds of the target, controller 36 connectsthe take-up drive motor (M1 or M2) in the fast forward or rewinddirection to the high voltage of 12 volts, by operating one of therelays 84 or 86 in the motor control circuit 66 over line P5-6 or P5-4,to cause the motor M1 or M2 to operate at maximum speed and move thetape at fast speed toward the target position.

When within 20 seconds of target position as determined from thecontinually updated display of tape position based on periodic positiondeterminations made every four revolutions during the fast speedoperation, the take-up drive motor is reduced to normal speed, indicatedby the program step in FIG. 15 "Within 20 Seconds of Target?". Based ona reel speed ratio calculated following the elapsed period of 16 reelpulses (see FIG. 6), an accurate tape position determination is thenmade. A calculation is then made of pulses expected to the targetposition, by determining the difference between the expected pulse countat the accurately determined position and the pulse count expected atthe target position, by reading data from the Pulse Count Store. Thetape drive motor is then switched to intermediate speed by connectingthe windings of the take-off motor to ground. This connection to groundcreates a braking action which reduces tape speed, and is achieved byenergizing relays of the motor control circuit 66 via output linesconnected to the processor ports. When the target position is reached,the function designated by the operator through activating one of thefunction keys of the keyboard is then entered.

DISPLAY SMOOTHING AND SYNCHRONIZATION (FIGS. 10, 11, 11A)

In the system of the commonly assigned prior patent applicationpreviously referred to, the controller updates the display of tapeposition based on periodic determinations of instantaneous positions ofthe tape. Considering the system constructed as preferred, in which tapeposition is displayed in terms of time to the end of the tape, if thetape position determination is repeated approximately every 6-8 secondsrepresenting the rotation through two revolutions of both reels whereboth reels are half full of tape, if the display is updated to show thetape position after each cycle of determination the display will jump6-8 seconds at a time, and the jumps may be somewhat uneven.

In keeping with the present invention, a method and means are providedfor operating the display so that it is uniformly and smoothly updatedto show changes in tape position of one second, the display beingoperated by a display clock in the intervals between tape positiondeterminations, and the rate of the display clock being synchronizedwith the actual rate of movement of the tape by comparing the tapeposition as determined each cycle, with the tape position shown on thedisplay, and changing the rate of the display clock to eliminate anydifference between the calculated position and the display position overa prolonged interval, to smooth out the operation of the display.

An illustrative simplified program flow chart (FIG. 10) illustrates theprogrammed operation of the CPU 38 to drive the display 68 in thismanner, it being understood that a program will be stored in the programsection of the memory unit 40 to operate the CPU 38, as will be clear toa man skilled in this art. Turning first to FIG. 1, to drive the display68 combinations of output signals on the output line 70, 72 from I/Oport 64 are connected to the circuits of the display 50 which may be anLCD or LED display unit of four digits to display minutes and seconds.The CPU 38 and memory 40 may provide the requisite decoder circuits todrive the display directly when Mostek F8 integrated circuits are used,or decoder circuits separate from the controller 36 may be providedwhere the controller is implemented in a different manner. Preferably,and in keeping with this invention, the CPU 38 under program controlprovides a display clock 78 which is connected to and controls thedisplay 68.

Referring to FIG. 12, as there shown the main programmed operation ofthe CPU 38 is interrupted on a regular real time cycle by a timerinterrupt request. The display clock 78 may be implemented by a registerof the CPU 38 or RAM memory of the memory unit 40, which register isinitially set to a value or content, and is decremented each cycle ofthe timer interrupt request, for example every 8 ms., so that in theabsence of adjustment the register times out each second and the displayclock updates the display once each second. The nominal value loaded inthe register is 125, 125 counts of 8 ms. giving one seconddecrementation. Due to time interrupts and other time consumingoperations, the central value is 122 not 125. The time out of thedisplay clock register, and thus the rate at which the display clockupdates the display, is speeded up or slowed down, in accordance withthe present invention, by loading the display clock register with avalue greater or less than the central value by an amount which variesaccording to the sense and magnitude of the difference between theposition shown on the display clock and the position of the tape asdetermined each cycle by the controller. The value loaded in theregister is read from memory as indicated in FIGS. 11 and 11A, thedisplay clock being adjusted as the difference (Δ) between the displayposition "T" and the calculated position "D" varies within a limit plusor minus 5 seconds. As indicated in FIG. 11, the display clock is sloweddown if Δ is greater than zero (within the 5 seconds), the calculationfor the digital value to be added to the content of the register beingbased on smoothing constants that are indicated in FIGS. 11 and 11A.Thus if Δ is plus or minus less than 1 second, the constants value is122, representing a median value for basing the calculation to adjustthe time out of the display clock register. As indicated, the constantsvalue increases and decreases incrementally as Δ varies in one secondincrements. As shown in FIG. 11A, if Δ is less than zero the value ofthe constants read from memory are from 122 to 91; as shown in FIG. 11if Δ is greater than zero the constants read from memory are from 140 to210.

Again referring to FIG. 10, in somewhat more detail, in response tooperator initiation of the play function, the system enters the playmode of operation the function lights are set by the controllers 30, 36,and as indicated in the block "Set Smoothing Display Clock" an initialvalue is set into the register serving the function of the displayclock. The display clock register is therefore set to a content suchthat it will clock the display to update the display on a one secondinterval. As indicated in the next block in the flow chart, a 16 reelpulse count is set in registers for each reel. This is to initialize thecircuits for timing the period of two revolutions of each reel. For thispurpose, the stream of reel pulses issued from each reel pulse generatoris counted until a total of 16 pulses, representing two revolutions ofthe associated reel, has been received. As indicated in FIG. 12, inresponse to a timer interrupt, when a reel I pulse is received by thecontroller on an input line, the reel pulse count in the register isdecremented, and this process continues until the count equals zero. Theperiod for 16 pulses is thus timed by feeding high frequency pulses tothe timing register, and accumulating in the timing register the highfrequency pulses for the period of 16 reel pulses. As indicated in FIG.12 when the count in the reel pulse count register equals zero, thetiming register contents are transferred to a time store register wherethe contents are stored. The same sequence, as indicated in FIG. 12, iscarried out for reel II pulses, such that at the end of 16 pulses fromeach reel, the timing register contents for each reel are transferred tostorage registers.

Turning back to FIG. 10, following the step of "Set 16 Reel Pulse Countin Registers for Each Reel" as there indicated the question is asked"Smoothing Clock Equals Zero?". As also indicated in the timer interruptflow chart of FIG. 12, the smoothing display clock is decremented eachtimer interrupt cycle, and if the smoothing display clock has beendecremented to zero, as indicated in the flow chart in FIG. 10, thesmoothing display clock is reset and the display is decremented 1second. If the smoothing clock does not equal zero, the routine jumpsfrom "Smoothing Clock Equals Zero?" to the block "Has Reel Pulse CountReached 16 Pulses from Each Reel?", representing that both registers forthe reels have been decremented to zero and the time is ready to makeposition determination "D". If the display is blank, as it may be wherethis is the first position determination made by the controller, thenthe display is set to position "D"; if the display shows a position madeby a prior determination, the position shown in the display "T" and theposition "D" just made are compared, and the value of "Δ=T-D" iscomputed. If the difference between the displayed position "T" and thejust determined position "D" is within ±5 seconds, then an adjustment ismade of the display clock rate. If the difference between the displayedand determined position is greater than 5 seconds, the display isupdated to show the newly determined position "D". Thus, smoothing ofthe display operation by adjusting the rate of the display clock, isonly carried out when the comparison between the displayed position andthe newly determined position is within a 5 second interval. Asindicated also in FIGS. 11 and 11A, if upon comparison the differencebetween the displayed position "T" and the freshly determined position"D" is greater than zero but within 5 seconds, smoothing constants arethen read from memory and the display clock is slowed down by changingthe content of the register serving the function of the display clock bya value calculated based on smoothing constants the value of whichcorrespond to the increment of difference between zero and 5 seconds.Similarly, if Δ is less than zero but within 5 seconds, the clock isspeeded up so as to bring the display into synchronism with the actualposition of the tape over a prolonged interval. Preferably the prolongedinterval is on the order of 15 seconds, the digital value to be added tothe content of the display clock register being calculated to change therate of the display clock in a smooth manner so as to avoid any abruptand noticeable increase or decrease in the normally one second changesin position shown on the display.

CONTROL OF SUPPLY VOLTAGE TO MOTORS (FIGS. 1-3, 7, 8, 16)

According to this invention, method and means are provided to controlthe supply voltage to the drive motors M1 or M2 for monitoring themovement of the tape in accordance with tape position. A featureprovided by this aspect of the invention, is the regulation of outputtorque of the take-up motor M1 to maintain substantially constanttension or tractive force applied to the tape by the drive motor on thetake-up reel throughout the entire process of transferring tape fromreel to reel when moved at normal speed for play or record. For thispurpose, the controller 36 calculates the desired supply voltage basedon tape position and produces signals on the lines P1-0 to P1-3 which indigital form represent the calculated variable supply voltage tomaintain constant tractive force, and means are provided herein shown inFIG. 1 as the circuit 80 which takes the output in digital form from theCPU 38, converts it to an approximately linearly varying supply voltageΔV for the take-up motor M1 as shown in FIG. 8. The controller 36, asindicated in the flow diagram FIG. 16, determines the requisite supplyvoltage to the drive motor M1 to provide a variable torque whichincreases and decreases in approximate proportion to the radius of thetape, winding on the take-up reel, which is a linear function of tapeposition.

The supply voltage control circuit 80 of FIG. 1 can be considered, insimplified terms, to comprise means for converting a digital signal onthe output pins P1-0 to P1-3 of the CPU 38, to an analog voltage appliedto the take-up reel drive motor and varying through sixteen voltagelevels approximating a linear voltage change between 5 and 10 volts (asshown in FIG. 8), as the digital output from the CPU 38 is varied asrepresented by combinations of high and low voltages on the pins P1-0 toP1-3 of the CPU. The circuit 80 includes an array of resistances 84 of5K, 10K, 20K and 40K ohms connected in parallel to the output pins ofthe CPU as indicated in FIG. 1, operational amplifiers 86, and an outputtransistor 88 to supply the output voltage at the CPU controlled levelto the motor M1 for the take-up reel. The variable supply voltage isconnected to the motor M1 when the relay 82 in the motor control circuit80 of FIG. 2, is energized by a control signal on the output line P5-7responsive to the play or record function being initiated.

In addition to providing means for connecting and disconnecting thevariable supply voltage ΔV 5/10 V. to the drive motor M1, the motorcontrol circuit 68 also provides means to change the speed of movementof the tape between normal and fast speed in response to manualactivation and deactivation of fast speed controls or programmedcontrolled operation. This motor control circuit includes the relay 84to connect 12 volts for fast speed of the forward motor M1 in responseto an output signal from the controller 36 on the output line connectedto the controller port P5-6. A signal over the output line connected tothe controller port P5-4 energizes the relay 86 to connect the 12 voltsource to the rewind drive motor M2 and to cause the drive motor M2 tooperate at fast speed. For applying dynamic braking forces to the supplyreel in the forward or rewind directions, output signals over the linesconnected to the output ports P5-1 or P5-5 operate respectively relays88, 90 to connect the motor windings of the motors M2 or M1 to groundthrough the resistances 93, 94. A signal on the output line connected toport P5-7 is operative both to connect the variable supply voltage Δ55/10 volts to the forward drive motor M1, and to operate the relay 92 toenergize the solenoid "sol." to engage the capstan drive for the tape.With the control of the variable supply voltage ΔV 5/10 volts by thecontroller 36 and the network 80, and the control of the application tothe motor windings of the standard 5 and 12 volt sources, means are thusprovided to control the speed of motors M1 or M2 to maintain normalspeed for play and record modes, intermediate speed for slow-down andend-of-search sequence and fast speed for fast forward or rewind inresponse to both manual controls and automatically in accordance withtape position.

I claim as my invention:
 1. In a tape transport apparatus for tape/reelassemblies having two reels carrying tape, drive means for moving thetape from reel to reel, reel speed detectors including means generatingreel pulses at rates proportional respectively to the speed of eachreel, and controller means connected to said reel speed detectors andemploying the ratio between the speeds of the reels for monitoring tapemovement, the combination comprising:means for counting reel pulses foreach reel, means timing and producing output signals respectivelyrepresenting the elapsed periods of the same total count of reel pulsesfor each reel, and means determining and producing signals representingthe ratio between the respective output signals from said timing meansto represent the ratio between the speeds of the reels employed by saidcontroller means for monitoring tape movement.
 2. In a tape transportapparatus, the combination according to claim 1 wherein said timingmeans includes timing registers for each reel, clock means, and controlmeans clocking pulses from said clock means into said timing registersfor the same total count of reel pulses for each reel, the content ofsaid timing registers respectively providing output signals representingthe elapsed periods of said total count of reel pulses for each reel. 3.In a tape transport apparatus, the combination according to claim 2,said controller means including said counting means, timing means andratio determining means.
 4. In a tape transport apparatus, thecombination according to claim 2, said controller means comprising aprocessor unit, and program memory means storing programs to operatesaid processor unit under program control,said processor unit includingsaid timing registers, clock means, and control means, said processorunit being operated under control of programs stored in said programmemory to measure off the same total count of reel pulses in saidregisters, to clock pulses from said clock means into said timingregisters for the elapsed periods measured off by the same total countof reel pulses in said registers, and to divide the contents of saidtiming registers to determine the ratio therebetween and provide signalsrepresent the ratio between the speeds of the reels.
 5. In a tapetransport apparatus for cassettes having two reels carrying tape, saidapparatus having pulse generators respectively generating reel pulsesresponsive to rotation of each of the reels as tape is transferred fromone reel to the other at either normal or fast speed, and controllermeans receiving said pulses and monitoring the movement of the tapeaccording to the relative speeds of the reels as represented by saidpulses, the combination comprising:counters included in said controllermeans counting reel pulses from each pulse generator produced during Arevolutions of each reel when driven at normal speed, and B (B>A)revolutions of each reel when driven at fast speed, clock meansgenerating pulses clocked into and accumulated in respective timingregisters included in said controller means for said reels, for the timeperiod elapsed for the total count of pulses counted by said countersduring said A or B revolutions, means for storing the contents of saidrespective timing registers, and means included in said controller meansperiodically dividing the respective stored contents of said timingregisters to produce signals representing the speed ratios of the reelsat normal or fast speed, for said controller means to monitor themovement of the tape.